草庐IT

Unity3D RTMP播放

全部标签

c# - 在没有 System.Net.Sockets 的情况下将 Unity 连接到 C++ WinSocket

Windows10、Unity5.5.2-请注意,这隐含地将.Net限制为3.5版。我有一个C++应用程序,我正尝试通过无线方式连接到Unity应用程序。我希望不断地将字节数组从C++发送到Unity。问题是,对于我希望部署到的设备(在我的例子中是Hololens),System.Net.Sockets不可用。在C++中,我使用Winsock2.hheader实例化了一个套接字。我可以使用UDP或TCP,这对我的应用程序没有影响。在Unity中,我希望使用Unity.Networking或UWP来建立连接。要使用UWP,我只见过使用async关键字的示例,这在Unity中使用起来很头疼

c# - Dominion AI 播放器的正确 OOP 结构

我一直在尝试为流行的纸牌游戏Dominion(http://www.boardgamegeek.com/boardgame/36218/dominion)制作AI玩家。如果您不熟悉这款游戏,它基本上是Magic:TheGathering的一个非常精简的表亲,其中有一个很大的纸牌库,上面有不同的规则。在游戏过程中,玩家购买这些卡牌并将它们合并到他们的套牌中。从机器学习的角度来看,我对这款游戏很感兴趣-我想让机器人互相对抗,让它们玩数百万个游戏,并尝试挖掘数据洞察力,让它们玩得更好。我不确定如何将游戏规则(印在每张卡片上的逐字说明)与核心AI决策逻辑分开。我开始的明显路径是为每张卡片创建一

c# - 如果移动到其他屏幕,WPF MediaElement 将停止播放

我在使用MediaElement时遇到了一个非常奇怪的问题,它似乎与多屏幕环境有关:偶尔(我无法每次都重现该问题)当我将MediaElement所在的窗口从一个屏幕拖到另一个屏幕时停止播放.这种奇怪的行为也会发生在非常基本的代码中,例如:publicMainWindow(){InitializeComponent();}protectedoverridevoidOnSourceInitialized(EventArgse){media.Play();base.OnSourceInitialized(e);}和有没有人遇到(并最终解决)任何类似的问题? 最佳答

按下键时的 C# 和 Unity3D

我是C#的新手。我正在Unity中创建一些东西来帮助我更好地学习C#和Unity。我想知道为什么:Input.GetKeyDown(KeyCode.UpArrow))仅在放置在以下位置时触发一次:voidUpdate()既然更新是一个循环,为什么当我按住键时它没有被触发(在我的例子中导致球体移动)?我已经设法通过使用两个bool来让它工作,这两个bool在按下和释放键时会发生变化。这是我用来移动球体并模拟加速/减速的完整脚本:usingUnityEngine;usingSystem.Collections;publicclasssphereDriver:MonoBehaviour{in

Unity3D 脚本3(旋转)

一、物体的旋转给物体调转一个旋转角度。1、Quaternion四元组(x,y,z,w)transfrom.rotation()=...不方便操作,官方不建议用2、EulerAngle欧拉角transfrom.eulerAngles=newVector(0,45,0);transfrom.LocalEulerAngles=newVector(0,45,0);voidStart(){transfrom.localEulerAngles=newVector(0,45,0);}这样就可以让物体旋转45度。在Update中修改角度持续旋转Vector3angles=transfrom.localEule

c# - 如何设置 Unity 注册约定?

使用结构图,您可以注册一个约定,让您不仅可以调整类型,还可以在对象创建过程中进行干预。我如何使用Unity执行此操作。publicclassSettingsRegistration:IRegistrationConvention{publicvoidProcess(Typetype,Registryregistry){if(!type.IsAbstract&&typeof(ISettings).IsAssignableFrom(type)){registry.For(type).Use(x=>{varsvc=x.GetInstance();returnsvc.LoadSetting(t

c# - 不知道如何在 Unity3D 中使用协程

在Unity3D中,这是我的代码:voidActivateBuff1(){gun.equippedGun.msPerShot/=2;gun.equippedGun.shotsLeftInMag+=10;StartCoroutine(WaitRage());}voidActivateBuff2(){player.speedModifier*=1.5f;StartCoroutine(WaitSpeed());}IEnumeratorWaitRage(){yieldreturnnewWaitForSeconds(powerUpDuration);gun.equippedGun.msPerSh

c# - 使用 SoundPlayer 播放多种声音

我正在制作一个采样器程序,其中从1到9的每个键都会发出不同的声音。一切正常,但当我同时按下两个(或更多)声音时,第二个“杀死”第一个。我正在使用SoundPlayer播放.WAV文件中的声音。我该如何解决这个问题? 最佳答案 您需要使用DirectX(DirectSound)或一些旨在允许同时播放多个声音的类似API。 关于c#-使用SoundPlayer播放多种声音,我们在StackOverflow上找到一个类似的问题: https://stackoverf

c# - Unity 的自定义对象工厂扩展

我正在使用UnityIoC容器,我需要拦截对特定基础接口(interface)的任何Resolve调用,并运行我自己的自定义代码来构造这些类型。换句话说,在下面的示例代码中,当我调用container.Resolve()时,如果它没有具体实现类型的实例,它会调用MyFactoryFunction构造一个,否则我希望它返回缓存的副本。标准的Unity容器无法构造这些对象(更新:因为它们是.NET远程对象,所以具体类不存在于本地计算机上的任何程序集中),我不想预先创建它们并使用RegisterInstance存储它们。interfaceIFoo:IBase{...}interfaceIFo

c# - Unity如何解析未注册的类型?

我承认,我懒得看源码了。有人知道吗? 最佳答案 没关系,我在MSDN找到了答案:YoucanusetheUnitycontainertogenerateinstancesofanyobjectthathasapublicconstructor(inotherwords,objectsthatyoucancreateusingthenewoperator),withoutregisteringamappingforthattypewiththecontainer.WhenyoucalltheResolvemethodandspecif